package com.ibeeking.gmc.global.service.common.param;

import com.ibeeking.found.common.enums.marketing.CampaignSceneTypeEnum;
import com.ibeeking.nematos.utils.base.BaseValidationGroup;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @ClassName CampaignSceneParam
 * @Description 活动场景
 * @Author ibeeking
 * @Date 2021-07-06 9:45
 **/
@Data
public class CampaignSceneParam implements Serializable {
    private static final long serialVersionUID = 1L;

    @NotNull(message = "场景ID不能为空", groups = {BaseValidationGroup.Update.class})
    private Long id;

    /**
     * 场景类型编码
     */
    @NotNull(message = "请选择场景类型", groups = {BaseValidationGroup.Insert.class, BaseValidationGroup.Update.class})
    private CampaignSceneTypeEnum sceneTypeCode;

    /**
     * 场景编码
     */
    @NotBlank(message = "场景编码不能为空", groups = {BaseValidationGroup.Insert.class})
    private String code;

    /**
     * 场景名称
     */
    @NotBlank(message = "场景名称不能为空", groups = {BaseValidationGroup.Insert.class, BaseValidationGroup.Update.class})
    private String name;

    /**
     * 场景描述
     */
    private String description;

    /**
     * 场景icon
     */
    @NotBlank(message = "场景图标不能为空", groups = {BaseValidationGroup.Insert.class, BaseValidationGroup.Update.class})
    private String icon;

    /**
     * 排序
     */
    private Integer sort;

    /**
     * 是否参与计算，1-是，2-否
     */
    private Integer calculate;
}
